package com.it.common.livedata;

import androidx.annotation.NonNull;
import androidx.lifecycle.LifecycleOwner;
import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.Observer;

/**
 * 非空，为null的时候不更新，
 * 使用的时候需要注意
 *
 * @param <T>
 */
public class NotNullLiveData<T> extends MutableLiveData<T> {
    @Override
    public void observe(@NonNull LifecycleOwner owner, @NonNull Observer<? super T> observer) {
        super.observe(owner, new Observer<T>() {
            @Override
            public void onChanged(T t) {
                if (t != null) {
                    //只有不为空的时候，才更新
                    observer.onChanged(t);
                }
            }
        });
    }

}